package edu.gatech.cs2340.teamrocket.control.networking.messagehandler;

import edu.gatech.cs2340.teamrocket.control.networking.dialog.Dialog;
import edu.gatech.cs2340.teamrocket.control.networking.node.Node;
import edu.gatech.cs2340.teamrocket.control.networking.message.Message;

/**
 * Message Handler interface for client objects.
 *
 * @author Joe Tacheron
 */
public interface MessageHandler {

    /**
     * Handle the Message for the specific Node, given the Dialog context.
     *
     * @param endpoint the owning Node
     * @param dialog the Dialog context
     * @param message the Message
     */
    void handleMessage(Node endpoint, Dialog dialog, Message message);
}
